package cn.icanci.loopstack.bic.web.controller;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import cn.icanci.loopstack.bic.common.enums.FuncTypeEnum;
import cn.icanci.loopstack.bic.common.enums.NodeDataModeEnum;
import cn.icanci.loopstack.bic.common.enums.NodeTypeEnum;
import cn.icanci.loopstack.bic.common.enums.NodeVueTypeEnum;
import cn.icanci.loopstack.bic.common.model.TextValue;
import cn.icanci.loopstack.bic.common.result.R;

/**
 * @author icanci
 * @since 1.0 Created in 2023/09/10 15:05
 */
@RestController
@SuppressWarnings("all")
@RequestMapping("/bicAdmin/common")
public class CommonController {

    @GetMapping("/funcType")
    public R funcType() {
        List<TextValue> textValues = Arrays.stream(FuncTypeEnum.values()).map(x -> new TextValue(x.getDesc(), x.name())).collect(Collectors.toList());
        return R.builderOk().data("textValues", textValues).build();
    }

    @GetMapping("/nodeDataMode")
    public R nodeDataMode() {
        List<TextValue> textValues = Arrays.stream(NodeDataModeEnum.values()).map(x -> new TextValue(x.getDesc(), x.name())).collect(Collectors.toList());
        return R.builderOk().data("textValues", textValues).build();
    }

    @GetMapping("/nodeType")
    public R nodeType() {
        List<TextValue> textValues = Arrays.stream(NodeTypeEnum.values()).map(x -> new TextValue(x.getDesc(), x.name())).collect(Collectors.toList());
        return R.builderOk().data("textValues", textValues).build();
    }

    @GetMapping("/nodeVueType")
    public R nodeVueType() {
        List<TextValue> textValues = Arrays.stream(NodeVueTypeEnum.values()).map(x -> new TextValue(x.getDesc(), x.name())).collect(Collectors.toList());
        return R.builderOk().data("textValues", textValues).build();
    }
}
